home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-01-09 | 20.9 KB | 521 lines | [TEXT/ttxt] |
- NOTICE
-
- The Parallaxis software package is licensed free of charge. Therefore, we
- provide absolutely no warranty of any kind in any case. The Universitaet
- Stuttgart and the authors provide the Parallaxis software package "as is"
- without warranty of any kind, either expressed or implied, including, but not
- limited to, the implied warrenties of merchantability and fitness for a
- particular purpose. The entire risk as to the quality and the performance of
- the program is with you. Should the Parallaxis software package prove defective,
- you assume the cost of all necessary servicing, repair or correction.
-
- In no event may the Universitaet Stuttgart or any of the programs' authors be
- liable to you for damages, including any lost profits, lost monies, or other
- special, incidental or consequential damages arising out of the use or inability
- to use (including but not limited to loss of data or data being rendered
- inaccurate or losses sustained by third parties or a failure of the program to
- operate with programs not included in the Parallaxis software package) the
- program, even if you have been advised of the possibility of such damages, or
- for any claim by any other party.
-
-
- COPYRIGHT AND PUBLIC DOMAIN LICENCE
-
- The Parallaxis software package is being distributed by the Universitaet
- Stuttgart as public domain software. Copyright (c) is with the authors, Ingo
- Barth, Thomas Braunl, and Frank Sembach at the Universitaet Stuttgart, IPVR,
- Germany. There is no warranty in any case as stated in the paragraph above.
-
- You are free to use and copy the original Parallaxis software package free of
- charge for non-commercial applications, provided that
- 1) the notices on copyright, public domain, and no warranty of this page
- as well as a reference to this report are included,
- 2) you return a filled-in copy of the attached registration sheet,
- which gives us some information on the distribution of our software.
- An intended commercial use requires the written consent of the authors.
-
- You may obtain the Parallaxis software package for any of the following computer
- systems:
- * Apple Macintosh (MAC OS, 2 MB or more recommended)
- * IBM PC/AT or compatibles (DOS)
- * APOLLO DN3000 (Unix)
- * SUN 3 (Unix, OS 4.0)
- * SUN 4 / Sparcstation (Unix, OS 4.0)
- * HP 9000/300 (HP-UX)
- * HP /800 series (HP-UX)
- * DECstation 2100 (Ultrix)
- * VAXstation (Ultrix)
- * CRAY-2 (Unix) (sorry, no usage of vectors)
- * MasPar MP 1200 (Ultrix) (in preparation)
-
- For receiving your copy of the Parallaxis software package and the Parallaxis
- user manual, send a fee of DM 10 (outside Europe via air mail US $ 15) for the
- manual and a fee of DM 5 (outside Europe US $ 5) for each computer system
- version you would like to get on floppy disk. If you have Internet access,
- you may also copy the Parallaxis system from:
- ifigw.informatik.uni-stuttgart.de (129.69.211.1)
- in subdirectory pub/parallaxis
- For mailing bug reports (no calls, please!), suggestions or your favourite
- Parallaxis application, also contact the address below:
-
- Dr. Thomas Braunl
- Universitaet Stuttgart
- Fakultaet Informatik
- Postfach 10 60 37
- D-7000 Stuttgart 10
- Germany
-
- FAX: +49 (711) 7816-346
- e-mail: braunl@informatik.uni-stuttgart.de
-
-
- HINTS FOR VERSION 2
-
- The power operator is now "**".
-
- It is now possible to define multiple topologies at once (disjunct or overlay),
- or different topologies for procedures that are not nested. If multiple
- topologies are used, the topology name has to be specified for each PARALLEL
- block.
-
- Since connections are now semi-dynamic, there are no lengthy connection lists
- any more at the beginning of each PARZ intermediate code program.
-
- The simulator has been extended to operate source level debugging. For this
- reason, the compiler optionally generates a cross reference file (".xrf").
-
-
- LITERATURE
-
- in English:
-
- Barth, Braunl, Sembach: Parallaxis Version 2 User Manual
- Computer Science Report, no. 2/91, Universitaet Stuttgart, Feb. 1991
- --> This report is a must for using Parallaxis !! <--
- --> Contact the address below. <--
-
- Barth, Braunl, Sembach: Parallaxis User Manual
- Computer Science Report, no. 3/90, Universitaet Stuttgart, March 1990
-
- Braunl: Parallaxis: A Flexible Parallel Programming Environment for
- AI Applications, Applications of Artificial Intelligence VII,
- Orlando Florida, March 1989, pp. 275 (11)
-
- Braunl: A Specification Language for Parallel Architectures and
- Algorithms, Fifth International Workshop on Software Specification and
- Design, Pittsburgh Pennsylvania, May 1989, pp. 49 (3)
-
- Braunl: Structured SIMD Programming in Parallaxis,
- Structured Programming, vol. 10, no. 3, July 1989, pp. 121 (12)
-
- Braunl: Transparent Massively Parallel Programming with Parallaxis,
- ISSM International Conference on Parallel and Distributed Computing and
- Systems, New York NY, Oct. 1990
-
-
- in German:
-
- Barth: Entwicklung eines Compilers fuer die parallele Programmiersprache
- Parallaxis, Studienarbeit Nr. 835, Universitaet Stuttgart, March 1990
-
- Barth: Entwicklung eines Compilers fuer Parallaxis mit
- dynamischen Verbindungsstrukturen, Diplomarbeit Nr. 705,
- Universitaet Stuttgart, Nov. 1990
-
- Braunl: Massiv parallele Programmierung mit dem Parallaxis-Modell
- Informatik-Fachberichte Nr. 246, Springer-Verlag 1990.
-
- Krauskopf: Ein massiv paralleles Verfahren zur Stereobildauswertung,
- Diplomarbeit, Universitaet Stuttgart Nr. 707, Nov. 1990
-
- Liebelt: Entwicklung und Untersuchung von massiv parallelen Hidden-Surface-
- und Raytracing-Algorithmen, Diplomarbeit Nr. 769, Universitaet Stuttgart,
- Jan. 1991
-
- Sembach: Entwicklung eines Simulators fuer die parallele
- Zwischensprache PARZ, Studienarbeit Nr. 834, Universitaet Stuttgart,
- March 1990
-
- Sembach: Entwicklung eines symbolischen Debuggers fuer das parallele
- Sprachensystem Parallaxis/PARZ, Diplomarbeit Nr. 706, Universitaet Stuttgart,
- Nov. 1990
-
- Verba: Massiv-parallele Algorithmen zur Loesung von Problemen der linearen
- Algebra, Studienarbeit Nr. 904, Universitaet Stuttgart, Nov. 1990
-
- Walter: Entwurf von massiv parallelen Simulated Annealing Algorithmen,
- Studienarbeit Nr. 925, Universitaet Stuttgart, Jan. 1991
-
- What's New in Version Two
- =========================
-
- In version 2 of the Parallaxis language definition and the Parallaxis
- Programming System we did some major extensions, the most important being the
- introduction of semi-dynamical connection structures. Parallaxis programs may
- now have several independent or overlapping interconnection structures at a
- time, and different connection structures at different times (linked to
- procedure scopes). We tried to be upward compatible as much as possible,
- however, there are two minor changes you might have to do in order to run
- your old (version 1) Parallaxis programs:
-
-
- How to upgrade old Parallaxis Programs
-
- * change power operator symbol from "^" to "**"
- * suffix load/store commands in procedures without selection
- with "[*]" selection
-
-
- Language Changes
-
- Data Types and Operators
- * Pointers
- * Variant Records
- * power operator "**"
- Dynamic data structures and variant record structures have been added. Syntax
- and Semantics is identical to Modula-2. The power operator had to be changed
- to double asterik, since the "^" symbol is now used for dereferencing pointer
- expressions.
-
- Multiple Configuration and Connection Structures
- Several configuation and connection structures may be defined globally for the
- entire program, or locally for each procedure. Procedures with configuration/
- connection structures may not be nested inside each other. Multiple
- configuration/connection structures may be defined on disjointed sets of PEs
- (with the possibility of interconnections between these groups), each having
- its individual data declaration. Several configuration/connection structures
- may also be defined on the same set of PEs, resulting in an overlay structure.
- A typical program structure with two disjoint sets of PE groups is:
-
- CONFIGURATION group1 [...];
- CONNECTION ...; (* connections between group1 PEs *)
- VECTOR ...; (* vector data for group1 PEs only *)
-
- CONFIGURATION group2 [...];
- CONNECTION ...; (* connections between group2 PEs or between both groups *)
- VECTOR ...; (* vector data for group2 PEs only *)
-
- SCALAR ...; (* common scalar data, there is NO common vector data *)
-
-
- PE selection syntax in PARALLEL, LOAD/STORE, and REDUCE statements has been
- changed slightly because of this extension. Besides the PE-range, a selection
- also has to specify the name of the configuration in case there are more than
- one (i.e.: PARALLEL tree[3..7] ...).
-
- Connections are no longer restricted to be 1:1 connections. They may now be
- arbitrary m:n connections (that is any input and output port may have an
- arbitrary number of connections). The arrival of multiple data values at a time
- has to be avoided. Therefore, the data exchange operations may be supplied with
- implicit data reduction operations.
-
- Data Exchange
- * propagate [reduce]
- * send [reduce]
- * receive [reduce]
- All participating PEs had to be active in a propagate data exchange operation.
- For multiple independent configuation structures, this is no longer possible.
- Therefore, propagate has been given two siblings: send, for transferring data
- to a destination-PE that does not have to be active (i.e. being in another
- configuration, or also inside the same configuration), and receive, for
- transferring data from a source-PE that does not have to be active.
-
- All three data exchange operations may be specified with an implicit reduction
- operator, in order to take care of possible m:n connections, reducing the data
- stream on the way of transfer.
-
- Standard Functions
- * parallel read
- * parallel write
- * in/out-connected
- * new / dispose
- * graphics routines
- Read and write may now take vector arguments, reflecting the parallel I/O
- technology, called "Data Vault" at Thinking Machines and "Parallel Disk Array"
- at MasPar. In/Out-connected functions have been changed according to the new
- multiple connection structures, and dynamic storage allocation functions have
- been added. The graphics routines are being ignored by the simulator in the
- current version and are only executed in the compiled version.
-
- Reduction
- User-defined reduction functions now have to have two vector arguments and a
- vector result.
-
-
- Programming System Changes
-
- Compiler
- The compiler now optionally creates cross-reference files for the symbolic
- debugger of the simulator.
-
- Simulator and Debugger
- The simulator also allows variant data structures (unions) and supports dynamic
- connection structures. That is, the PE connections are no longer listed before
- the actual commands in each PARZ program, but there are vector commands connect,
- biconnect and disconnect to build and discard dynamic connection structures. As
- a consequence, there is now a debugger command for displaying the dynamic
- connections (formerly integrated in the LIST command).
-
- The debugger has been extended to a symbolic debugger that operates on
- Parallaxis level and on PARZ level (new commands handling Parallaxis
- expressions are EXAMINE and ASSIGN). Parallaxis source code is always displayed,
- when available. All debugger commands formerly using PARZ labels only, may now
- also use Parallaxis source line numbers.
-
- The visualizer tool is still not ready for version 2 distribution.
-
- More Compilers
- There are two PARZ-to-C compilers. The first one is to speed up
- Parallaxis programs on single-processor Unix workstations, and the second
- compiler has been especially designed to run Parallaxis programs on the
- massively parallel MasPar computer system (16,384 PEs). We hope to finish
- a compiler for the Connection Machine soon.
-
-
- New Features (Nov. 1991, UNIX-Versions only !!)
- ------------------------------------------
-
- 1) The PARZ-to-C and PARZ-MPL compilers can include code, which will generate
- a record-file similiar to the simulator record-file.
- The option -R invokes this function.
-
- 2) The graphics library functions, described in the manual,
- have been extended and integrated into the Parallaxis compiler pa
- and the PARZ compilers pz2c, pz2mpl and pz2mpls. The simluator
- pz will support these functions soon.
-
- =============================================================================
-
- Parallaxis Graphics Interface
- (not yet implemented on the Macintosh and the IBM PC !!)
-
-
- Parallaxis provides a set of primitive procedures and functions to get a
- machine independent graphics interface. Although these procedures build
- a machine-independent graphics interface,the available graphics features
- depend on the machine used.
-
- To handle the colors a new data structure is automatically declared:
-
- TYPE COLOR = RECORD
- RED, GREEN, BLUE : CARDINAL;
- END;
-
- The components of this record hold the intensity of the corresponding co-
- lors. All functions and procedures set the read-only variable "Done" according
- to the success of the function or procedure.
-
- OpenWindow (SCALAR x, y : REAL) : SCALAR INTEGER
- opens a new window on the screen with the relative measure x and y
- (relative to the absolute screen coordinates). The result is the window
- selector which is needed to activate or to close the window.The new
- window will automatically be activated when it is opened. Ifthe new
- window could not be opened, the previously active window will stay
- active.
-
- CloseWindow (SCALAR handle : INTEGER)
- closes the window with the window selector handle. No window
- isactive. Before the next graphics operation a window has to be
- selected.
-
- WindowSize (SCALAR VAR x, y : INTEGER)
- returns the parameters x and y with the measure of the active window
- in pixels.
-
- SelectWindow (SCALAR handle : INTEGER)
- activates the window with the window selector handle for the follo-
- wing graphics commands.
-
- SetColor (SCALAR c : COLOR)
- SetColor (VECTOR c : COLOR)
- sets the actual painting color to the values contained in record "c".
- The real color is depending on the hardware facilities of the system used.
-
- SetPixel (SCALAR x, y : INTEGER)
- SetPixel (VECTOR x, y : INTEGER)
- sets the point with the pixel coordinates (x,y) to the previously defined
- color. If SetPixel is called with vector arguments and SetColor has been
- called previouslly with a scalar parameter, all pixels will be set to
- this color.
-
- GetPixel (SCALAR x, y : INTEGER) : SCALAR COLOR
- returns the color of the point with the pixel coordinates (x, y).
-
- Line (SCALAR x1, y1, x2, y2 : INTEGER)
- draws a line using the actual color from the point with the pixel
- coordinates (x1,y1) to the point with the pixel coordinates (x2, y2).
-
- MoveTo (SCALAR x, y : INTEGER)
- defines the actual position for the following drawing routines at the
- pixel with the coordinates (x, y).
-
- Draw (SCALAR c : CHAR)
- writes character c to the selected window at the actual position.
-
- DrawInt (SCALAR i : INTEGER; SCALAR n : CARDINAL)
- writes integer number i with a width of n characters to the selected
- window at the actual position.
-
- DrawCard (SCALAR i : CARDINAL; SCALAR n : CARDINAL)
- writes cardinal number i with a width of n characters to the selected
- window at the actual position.
-
- DrawReal (SCALAR r : REAL; SCALAR n : CARDINAL)
- writes floating point number r with a width of n characters to the
- selected window at the actual position.
-
- DrawFixPt (SCALAR r : REAL; SCALAR n, p : CARDINAL)
- writes floating point number r with a width of n characters and p
- decimals to the selected window at the actual position.
-
- DrawBool (SCALAR b : BOOLEAN)
- writes boolean value b to the selected window at the actual position.
-
- DrawString (SCALAR s : string)
- writes string s to the selected window at the actual position.
-
-
- Windows with absolute pixel dimensions can be opened using the follo-
- wing function. This function is not predefined.
-
- PROCEDURE OpenAbsWindow (SCALAR x, y : INTEGER) : SCALAR INTEGER;
- SCALAR ax, ay : INTEGER;
- BEGIN
- SelectWindow (0);
- WindowSize (ax, ay); (* get maximum window size *)
- RETURN OpenWindow (FLOAT(x) / FLOAT(ax), FLOAT(y) / FLOAT(ay));
- END OpenAbsWindow;
-
-
- On UNIX workstations, the output produced by the Draw procedures can
- be influenced by setting the environment variable PARALLAXIS_FONT to
- a valid X-Windows font string. The building of this string is defined in the
- X-Windows documentation.
-
- E.g.
- $ setenv PARALLAXIS_FONT "-adobe-symbol-*-*-*-*-20-*-*-*-*-*-*-*"
- defines that all output is made using the adobe-font symbol in a size of 20
- pixel.
-
- ---------------------------------------------------------------------------
-
- PARZ Graphics Interface
- (not yet implemented on the Macintosh and the IBM PC !!)
-
- The following commands are integrated in the language PARZ. All com-
- mands set the predefined variable "Done" according to the success of the
- operation.
-
- s_vardesc ":=" OPENW s_VarConst_x s_VarConst_y
- s_VarConst_x and s_VarConst_y are two values in the range,
- denoting width and height of the graphical output window, relative
- to the maximum screensize. A unique window number is assigned
- to the left hand side argument.
-
- SELECTW s_VarConst
- The window with the number s_VarConst is activated for graphics output.
-
- WSIZE s_vardesc_x s_vardesc_y
- Width and height in pixel of the active window are assigned to
- s_VarConst_x and s_VarConst_y.
-
- CLOSEW s_VarConst
- The window with number s_VarConst is closed.
-
- SETCOLOR vardesc
- vardesc is the first of three continous variables, containing the values
- of the new actual drawing color.
-
- SETPIXEL VarConst_x VarConst_y
- The pixel with coordinates (VarConst_x, VarConst_y) is set to the
- actual drawing color.
-
- s_vardesc ":=" GETPIXEL s_VarConst_x s_VarConst_y
- The left hand side argument is the first of three continous INTEGER
- variables receiving the color values (red, green, blue) of the specified
- pixel.
-
- MOVETO s_VarConst_x s_VarConst_y
- Defines the start position for the next call of LINETO.
-
- LINETO s_VarConst_x s_VarConst_y
- Draws a line in the actual drawing color from the last position reached
- with MOVETO or LINETO to position (s_VarConst_x,s_VarConst_y).
-
- DRAW s_VarConst1 [s_VarConst2 [s_VarConst3] ]
- Writes the scalar value of s_VarConst1 to the selected window at
- the actual position. With only one argument, a standard format is
- used for values of each type (boolean, char, integer, real, string).
- With two arguments, s_VarConst2 is the minimal output length
- for integers or reals. If s_VarConst1 is a character variable, it is
- the first of a character array containing a string of maximal length
- s_VarConst2. Three arguments are used to write real-values in a
- fixed-point representation. Here, s_VarConst2 is the minimal output
- width and s_VarConst3 is the fraction width.
-
- ==========================================================================
-
- REGISTRATION / ORDER SHEET FOR THE PARALLAXIS SOFTWARE PACKAGE
-
- Please fill in the blanks and return to:
-
- Dr. Thomas Braunl
- Universitaet Stuttgart
- Fakultaet Informatik
- Postfach 10 60 37
- D-7000 Stuttgart 10
- Germany
-
- e-mail: braunl@informatik.uni-stuttgart.de
-
-
- Name: (first, last) ..................................................
-
- Company: (if any) ..................................................
-
- Address: (street) ..................................................
-
- (city, ZIP) ..................................................
-
- (country) ..................................................
-
- E-mail: ..................................................
-
-
- Intended Use of Parallaxis: ..................................................
-
- ..................................................
-
- ..................................................
-
- ..................................................
-
-
- Application Areas: ..................................................
-
- ..................................................
-
- ..................................................
-
- ..................................................
-
-
- --------------------------------------------
- | This is a [REGISTRATION] / an [ORDER] . | (please mark)
- --------------------------------------------
- (please make sure to accompany order with payment!)
-
- [ ] Parallaxis User Manual (order)
-
- Computer systems used: ..................................................
- (floppies ordered, resp.)
- ..................................................
-
- ..................................................
-
- ..................................................
-
-
- Thank you for your cooperation!
-
-